package com.nanjia.boot.product.model.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商品信息视图对象
 *
 * @author 周洋
 * @since 2025-07-04 15:38
 */
@Getter
@Setter
@Schema( description = "商品信息视图对象")
public class ProductInfoVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "商品编码")
    private String productCode;
    @Schema(description = "商品名称")
    private String productName;
    @Schema(description = "国条码")
    private String barCode;
    @Schema(description = "品牌编码")
    private String brandCode;
    @Schema(description = "一级分类ID")
    private Integer oneCategoryId;
    @Schema(description = "二级分类ID")
    private Integer twoCategoryId;
    @Schema(description = "三级分类ID")
    private Integer threeCategoryId;
    @Schema(description = "商品的供应商ID")
    private Integer supplierId;
    @Schema(description = "商品销售价格")
    private BigDecimal price;
    @Schema(description = "商品加权平均成本")
    private BigDecimal averageCost;
    @Schema(description = "上下架状态：0下架1上架")
    private Integer publishStatus;
    @Schema(description = "审核状态：0未审核，1已审核")
    private Integer auditStatus;
    @Schema(description = "生产日期")
    private LocalDateTime productionDate;
    @Schema(description = "商品有效期")
    private Integer shelfLife;
    @Schema(description = "商品描述")
    private String descript;
    @Schema(description = "商品录入时间")
    private LocalDateTime indate;
    private LocalDateTime createTime;
}
